#1 直接创建集合
s1 = {10, 20, 30}
print(s1)
# {10, 20, 30}

#2 使用set函数创建集合
s2 = set()
print(s2, type(s2)) # 创建一个空集合，空集合的布尔值是False
# set() <class 'set'>
s3 = {}
print(s3, type(s3)) # 创建的是字典
# {} <class 'dict'>

s4 = set('helloworld')
print(s4) # 无序且不重复
# {'w', 'e', 'r', 'd', 'l', 'o', 'h'}

#3 集合的删除操作
s5 = set('helloworld')
del s5

#4 集合的操作符
s6 = {10, 20, 30, 40, 50}
s7 = {30, 50, 88, 76, 20}
# 交集
print(s6 & s7)
# {50, 20, 30}

# 并集
print(s6 | s7)
# {40, 10, 76, 50, 20, 88, 30}

# 差集
print(s6 - s7) # {40, 10}
# {40, 10}
print(s7 - s6) # {88, 76}
# {88, 76}

# 补集
print(s6 ^ s7)
# {10, 88, 40, 76}

#5 集合作为可变数据类型的相关操作
s8 = {10, 20, 30}
# 增加元素
s8.add(100)
# 删除元素
s8.remove(20)
print(s8)
# {100, 10, 30}
# 清空集合中所有元素
s8.clear()

#6 集合的遍历
s9 = {10, 20, 30}
# 循环遍历
for item1 in s9:
    print(item1, end=',')
# 10,20,30,
print()
# 使用枚举遍历
for index2, item2 in enumerate(s9, start=2):
    print(index2, item2, sep='-->', end=',')
# 2-->10,3-->20,4-->30,
print()

#7 集合的生成式
s10 = {i1 for i1 in range(1, 10) if i1 % 2 == 0}
print(s10)
# {8, 2, 4, 6}

#8 集合属于序列，所以可以用max，len等操作